A conventional push-to-talk (PTT) system is a half-duplex, one-to-one, or one-to-many communication system. Since PTT is useful for many applications, it has been implemented in full-duplex wireless systems such as CDMA, cdma2000, and the Global System for Mobile communication (GSM). In these full-duplex wireless communication systems, PTT is often implemented using a Voice over Internet Protocol (VoIP) application, which may be run in a circuit-switched system or in a packet data access system. Although VoIP is often associated with full-duplex voice calls over Internet Protocol, it can also be used to support a half-duplex PTT system.
In a conventional PTT call using a VoIP application over a circuit-switched network or packet data network, a calling mobile station initiates a PTT call by providing information identifying the party being called, such as a phone number, email address, identification number, or group number. The party or group being called might be selected from a group list. The base station communicates a PTT request to a PTT server.
The PTT server, in turn, sends an invitation to the called party through the called party's network. The PTT server handles PTT signaling and call control during the PTT session. Typically, the signaling between the PTT server and the PTT clients are accomplished through Session Initiation Protocol (SIP). The SIP may be transported on one or more of the physical channels supported by the clients' networks. The PTT server may be a separate physical entity or may be incorporated within part of a network. The server may act as an intermediary between networks or between base stations. The called party is paged and responds to the page, indicating that it is available to take a PTT communication. As used herein, PTT communications are generically intended to describe half-duplex communications, which might alternately be referred to as Press-to-talk over Cellular (PoC), or some other nomenclature.
In one example, the calling mobile station initiates the PTT session by sending a short data burst (SDB) message to the base station, to invite the party or parties being called. A SDB message is a packet sent over a shared or common channel, as opposed to a traffic channel. The base station sends an acknowledgement (ACK) message to the calling mobile to indicate receipt of the SDB message. When the ACK message is received, the calling mobile sends an origination message requesting that a traffic channel be assigned to handle the PTT communication. The PTT server, after receiving the invitation notification, will invite the called party to the PTT session by sending an invitation over a shared common channel. The called party will respond to this invitation and request a traffic channel for this PTU session.
Once the call is established, the communications are half-duplex in nature, similar to a 2-way radio communication where only one user transmits at a time, and all the other users receive (listen). Thus, in a PTT call, there are voice packets communicated on a reverse link traffic channel established between the calling party (first mobile) and a base station. Simultaneously, a forward link traffic channel communicates packets between a base station and the called party (second mobile). When the second mobile has the floor, a reverse link is established between the second mobile and the base station, and a forward link traffic channel established to the first mobile.
Although originally designed for circuit-switched voice communications, wireless telephone networks conventionally support two-way packet-switched packetized data services, such as browsing instant messaging and email. Wireless data calls are tailored to support conventional Internet Protocol (IP) packet-based service applications, and may include retransmission features. Although a PTT session can be enabled using circuit-switch voice channels, PTT applications typically utilize IP packet transport as an alternative to circuit-switched communications. An IP-based packet network can be used to support PTT communications. For packet data services, an access network (AN) acts as a base station.
A PTT session is characterized by an end-to-end communication capability for one-to-one or one-to-many half-duplex calls over a wireless network. The network may be either IP-based or non-IP based. Since PTT calls are half-duplex calls, only the user that has the floor (talking) needs a dedicated channel in the reverse link to support user data (or packets). The other users in the PTT group need only dedicated channels in the forward link to receive the information.
In many circumstances, such as in a business conference call scenario, several users may be participating in the same PTT session. Other one-to many scenarios include a group of friends chatting, trying to determine a meeting place for example, or a foreman giving directions to a group of workman situated at various locations in a worksite. In these situations a number of listening mobiles are simultaneously receiving the exact same transmission on a corresponding number of independent traffic channels. Conventionally, the management of the PTT sessions is handled irrespective of the location of the users in the PTT group. In a High Rate Packet Data (HRPD) system, when a PTT user wants to speak (i.e. push-to-talk), the access terminal (AT) of the PTT user uploads the voice packets to access network (AN). Once the PTT session manager obtains the voice packets, it prompts the AN to deliver the voice packets to all the other PTT users in the group. The AN treats all the users in the group as individual data users in the network. The AN delivers the packets to the receiving PTT users as resources allow, based on the status of the scheduler in the network. More advanced implementations of the network take into account the urgency of the PTT users and the AN delivers the voice packets to the users with as little delay as possible through the use of a Quality of Service (QoS), but the delivery is still provided on a per user basis. Accordingly, there remains a strong need in the art for a system and method for efficient resource allocation for PTT communications.